//package com.mmall.concurrency.tujie.chapter6;
//
//
///**
// * @author 孙许
// * @date 2018-05-21
// * @description
// */
//public class Data {
//    private final char[] buffer;
//    private final ReadWriteLock lock = new ReadWriteLock();
//
//    public Data(int size) {
//        this.buffer = new char[size];
//        for (int i = 0; i < buffer.length; i++) {
//            buffer[i] = '*';
//        }
//    }
//
//    public char[] read() throws InterruptedException {
//        lock.readLock();
//        try {
//
//        } finally {
//            lock.readUnlock();
//        }
//    }
//
//    public void write(char c) throws InterruptedException {
//        lock.writeLock();
//        try {
//            doWrite(c);
//        } finally {
//            lock.writeUnlock();
//        }
//    }
//
//    private char[] doRead() {
//        char[] newbuf = new char[buffer.length];
//        for (int i = 0; i < buffer.length; i++) {
//            newbuf[i] = buffer[i];
//        }
//        slowly();
//        return newbuf;
//    }
//
//    private void doWrite(char c) {
//        for (int i = 0; i < buffer.length; i++) {
//            buffer[i] = c;
//            slowly();
//        }
//    }
//
//    private void slowly() {
//        try {
//            Thread.sleep(50);
//        } catch (InterruptedException e) {
//            e.printStackTrace();
//        }
//    }
//}
